package ws

//  数据返回通用JSON数据结构
type JsonData struct {
	CallBack string      `json:"call_back"`      // 回调地址
	Cmd      string      `json:"cmd"`            // 消息的cmd
	SeqId    string      `json:"seq_id"`         // 消息ID,客户端请求的(原样返回),后端聊天消息,直播弹幕等消息id唯一
	Code     int         `json:"code"`           // 错误码((0:成功, 1:失败, >1:错误码))
	Msg      string      `json:"msg"`            // 提示信息
	Data     interface{} `json:"data,omitempty"` // 返回数据(业务接口定义具体数据结构)
	Extend
}

// 业务扩展
type Extend struct {
	LogTitle    string `json:"-"` // 日志标题
	LogContent  string `json:"-"` // 日志内容
	LogBiz      bool   `json:"-"` // 是否写业务日志
	RequestBody string `json:"-"` // 请求内容,方便写入日志
	DataOld     string `json:"-"` // 修改前数据
	DataNew     string `json:"-"` // 修改后数据
}

// 列表数据
type OutList struct {
	Count int         `json:"count"` // 总数
	List  interface{} `json:"list"`  // 列表数据
}

type PushMessage struct {
	UserId int     `json:"user_id"` // 推给用户
	RoomId int     `json:"room_id"` // 推给房间
	Data   MsgData `json:"data"`    // 推送数据
}

type MsgData struct {
	Type int         `json:"type"`           // 消息类型 0 文本  1 加入/退出 房间时的消息(RoomInfo)
	Data interface{} `json:"data,omitempty"` // 返回数据(业务接口定义具体数据结构)
}

// 房间信息
type RoomInfo struct {
	UserId int    `json:"user_id"` // 弹幕用户id
	Count int    `json:"count"` // 在线人数
	Text  string `json:"text"`  // 文字信息
}
